package cn.com.surker.production.dao;

import cn.com.surker.production.entity.ProductionPumpBill;
import cn.com.surker.production.vo.PumpBillVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 生产泵送结算信息表 Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2024-05-31
 */
public interface ProductionPumpBillDao extends BaseMapper<ProductionPumpBill> {

    /**
     * 统计付款金额
     * @param startTime
     * @param endTime
     * @return
     */
    List<ProductionPumpBill> totalPayMoney(String startTime, String endTime);
    /**
     * 统计供应商累计结算
     * @param startTime
     * @param endTime
     * @return
     */
    List<ProductionPumpBill> totalSupplier(String startTime, String endTime);

    /**
     * 根据公司 erpid 查询记录
     * @param orgId
     * @param erpid
     * @return
     */
    ProductionPumpBill findByErpId(Long orgId, Integer erpid, Long supplierId);

    /**
     * 查询统计日期
     * @return
     */
    List<Map<String, Object>> findToday();

    /**
     * 根据条件查询结算信息
     * @param orgId
     * @param contractId
     * @param supplierId
     * @param pumpType
     * @param pumpNorms
     * @param priceType
     * @param today
     * @return
     */
    ProductionPumpBill findExistBill(Long orgId, Long contractId, Long supplierId, Long pumpType, Long pumpNorms,
                                  Integer priceType, String today, Double price);

    /**
     * 查询泵送日产值数据
     * @param orgId
     * @param pumpType
     * @param pumpNorms
     * @param startDate
     * @param endDate
     * @return
     */
    List<PumpBillVo> findPumpDayPrice(Long orgId, Long contractId, Long pumpType, Long pumpNorms,
                                Integer priceType,String startDate, String endDate);

    /**
     * 查询审核记录是否存在
     * @param orgId
     * @param today
     * @return
     */
    Integer findExamineTotal(Long orgId, String today);

    Integer saveBatch(List<ProductionPumpBill> list);
}
